perm filename PUNCH.FAI[CMS,LCS]2 blob sn#205479 filedate 1976-03-11 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE PUNCH
C00005 ENDMK
C⊗;
	TITLE PUNCH
	A←1 ↔B←2↔C←3 ↔D←4 ↔E←5↔X←6↔Y←7
	P←17 ↔ NBUFS←4
PDL:	BLOCK 22
IBUF:	BLOCK 4
OBUF:	BLOCK 4
FILNAM:	'EROM  '
	'OCT   '
	0
	0

STAR:	MOVE P,[PDPO:	IOWD 22,PDL]
	OPEN 11,[14↔'DSK   '↔IBUF]
	JRST 4,.
	INBUF 11,NBUFS
	LOOKUP 11,FILNAM
	JRST 4,.

	OPEN [10↔'PTP   '↔OBUF,,]
	JRST 4,.
	OUTBUF NBUFS
	
	HRLZI Y,-400	;-200 FOR 128 BYTES

LOAD:	PUSHJ P,OUTP
	PUSHJ P,INP
	HRRZ A,1(X)
	HRRZM A,1(Y)
	AOBJP Y,DONE
	SOSG OBUF+2
	PUSHJ P,OUTP
	AOBJN X,LOAD+2
	JRST LOAD+1

DONE:	PUSHJ P,ZBUF
	PUSHJ P,ZBUF
	PUSHJ P,ZBUF
	EXIT
	
ZBUF:	SETZM 1(Y)
	HRLZI (Y)
	HRRI 1(Y)
	ADD Y,OBUF+2
	BLT -1(Y)
	PUSHJ P,OUTP
	POPJ P,

INP:	HRRM X,IBUF+1
	IN 11,
	JRST SETX
	STATO 11,20000
	JRST 4,.
	OUTSTR ["????"]
	EXIT

OUTP:	HRRM Y,OBUF+1
	OUT
	CAIA
	JRST 4,.
	HRR Y,OBUF+1
	POPJ P,

SETX:	HRRZ X,IBUF+2
	MOVNI X,(X)
	HRLZI X,(X)
	HRR X,IBUF+1
	POPJ P,
	
END STAR